package fr.iut2.tc1.projet.client;

import java.util.ArrayList;

import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.TextArea;
import com.google.gwt.user.client.ui.VerticalPanel;
/**
 *<b> Affichage.java est la vue principale ou l'on peut
 *voir le logo du sponsor, sa desciption à droite et a gauche les types de 
 *don du sponsor</b>
 *<p>elle est composé de 3 SimplePanel, on récupére l'image du sponsor
 *séléctionner dans la liste déroulante affichant les sponsor<br/>
 *</p>
 *
 * @see ListeSponsor.java
 * @author Fautrel thibault
 * 
 */

public class Affichage extends Composite {
	/**
     * SimplePanel photo affiche le logo du sponsor
     */

	private SimplePanel photo;
	/**
	 * SimplaPanel description affiche la description du sponsor
	 */
	private VerticalPanel description;
	/**
	 * SimplaPanel typedeDon affiche la nature de la contribution du sponsor
	 */
	private SimplePanel typedeDon;
	/**
	 * Affichage regroupe typedeDon,description et photo
	 */
	private HorizontalPanel affichage;
	/**
	 * callback permet de récuperer la liste de sponsor a partir du serveur
	 */
	private AsyncCallback<ArrayList<Sponsor>> callback;
	/**
	 * On initialise un service GWT
	 */
	private final ServicesAsync services = GWT.create(Services.class);
	
	private TextArea descriptionText;
	private static EditSponsor action;
	private Label titre;
	private static ImageBund monBundle;
	/**
	 * Constructeur de la classe affichage
	 * <p>On initie les panneau d'affichage, on les affichent vide </p>
	 */
	public Affichage(){
		photo = new SimplePanel();
		description = new VerticalPanel();
		affichage= new HorizontalPanel();
		descriptionText = new TextArea();
		
		titre= new Label();
		monBundle = (ImageBund)GWT.create(ImageBund.class);
		

		
		titre.setText("Description du sponsor :");
		descriptionText.setPixelSize(200, 400);
		descriptionText.setReadOnly(true);
		photo.setSize("100%", "400px");
		description.setSize("100%", "210px");
		affichage.setSize("100%", "400px");
		affichage.add(description);
		photo.add(monBundle.acceuilLogo().createImage());
		affichage.add(photo);
		
		initWidget(affichage);
		
	}
	/**
	 * methode setAffichage()
	 * <p>cette méthode permet d'afficher le logo selectionné dans listeSponsor</p>
	 * @see ListeSponsor
	 */
	public void setAffichage(Image monImage){
		affichage.clear();
		action = new EditSponsor();
		photo.setWidget(monImage);
		description.add(titre);
		description.add(descriptionText);
		affichage.setHorizontalAlignment(HorizontalPanel.ALIGN_CENTER);
		affichage.add(description);
		affichage.add(photo);
		affichage.add(action);
	}
	/**
	 * methode getDescription()
	 * <p>cette méthode permet de récupérer le TextArea contenant la description du sponsor</p>
	 */
	public void setDescription(String desc) {
		descriptionText.setText(desc);
	}
}
